package br.com.rodrigomarangon.rmcalculos;

import java.text.DecimalFormat;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Salario extends Activity {

	EditText edsalariobruto, eddependentes, edoutrosdescontos;

	@Override
	protected void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);

		setContentView(R.layout.activity_salario);

		edsalariobruto = (EditText) findViewById(R.id.edsalariobruto);

		eddependentes = (EditText) findViewById(R.id.eddependentes);

		edoutrosdescontos = (EditText) findViewById(R.id.edoutrosdescontos);

		Button botaovoltamenu = (Button) findViewById(R.id.btvoltasalario);

		Button botaolimpasalario = (Button) findViewById(R.id.btlimpasalario);

		Button botaosomasalario = (Button) findViewById(R.id.btcalculasalariobruto);

		botaosomasalario.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {

				if

				 (edsalariobruto.getText().toString().equals("") 

                          ) {
				
					AlertDialog.Builder dialogo =

					new

					AlertDialog.Builder(Salario.

					this

					);
					dialogo.setTitle("Aviso");
					dialogo.setMessage("Informe o Valor do Salario");
					dialogo.setNeutralButton("Ok", null);
					dialogo.show();
				}
				if
					(eddependentes.getText().toString().equals("")){
					eddependentes.setText("0");
				}
				if
	                         (edoutrosdescontos.getText().toString().equals("")){
					
					edoutrosdescontos.setText("0");
				}

				else{

					double salariobruto = Double.parseDouble(edsalariobruto
							.getText()

							.toString());

					double dependentes = Double.parseDouble(eddependentes
							.getText()

							.toString());

					double outrosdescontos = Double
							.parseDouble(edoutrosdescontos.getText()

							.toString());
					double salarioinss = salariobruto;
					double salarioirpf = salariobruto;
					double resultadependente;
					double salarioliquido;
					double totaldescontos;

					if (salarioinss > 4390.24) {
						salarioinss = 482.93;
						DecimalFormat dv = new DecimalFormat("0.00");

					} else {
						if (salarioinss > 2195.12) {
							salarioinss = salariobruto * 0.11;
							DecimalFormat dv = new DecimalFormat("0.00");
						} else {
							if (salarioinss > 1317.08) {
								salarioinss = salariobruto * 0.09;
								DecimalFormat dv = new DecimalFormat("0.00");
							} else {

								salarioinss = salariobruto * 0.08;
								DecimalFormat dv = new DecimalFormat("0.00");

							}
						}
					}
					if (dependentes > 0) {
						resultadependente = dependentes * 179.71;
					} else {
						resultadependente = 0;
					}
					if (salarioirpf > 4463.81) {
						salarioirpf = salariobruto - salarioinss
								- resultadependente;
						salarioirpf = (salarioirpf * 0.275) - 826.15;

						if (salarioirpf > 0) {
							salarioirpf = salarioirpf;

						} else {
							salarioirpf = 0;
						}

					} else {
						if (salarioirpf > 3572.44) {
							salarioirpf = salariobruto - salarioinss
									- resultadependente;
							salarioirpf = (salarioirpf * 0.225) - 602.96;

							if (salarioirpf > 0) {
								salarioirpf = salarioirpf;

							} else {
								salarioirpf = 0;
							}

						} else {
							if (salarioirpf > 2679.30) {
								salarioirpf = salariobruto - salarioinss
										- resultadependente;
								salarioirpf = (salarioirpf * 0.15) - 335.03;

								if (salarioirpf > 0) {
									salarioirpf = salarioirpf;

								} else {
									salarioirpf = 0;
								}

							} else {
								if (salarioirpf > 1787.78) {
									salarioirpf = salariobruto - salarioinss
											- resultadependente;
									salarioirpf = (salarioirpf * 0.075) - 134.08;

									if (salarioirpf > 0) {
										salarioirpf = salarioirpf;

									} else {
										salarioirpf = 0;
									}
									
								}else{
									salarioirpf=0;
								}
							}

						}

					}
					DecimalFormat dv = new DecimalFormat("0.00");
					String saidairpf = dv.format(salarioirpf);

					DecimalFormat di = new DecimalFormat("0.00");
					String saidainss = dv.format(salarioinss);
					
					totaldescontos = salarioinss + salarioirpf
							+ outrosdescontos;
					
					DecimalFormat dt = new DecimalFormat("0.00");
					String saidatotal= dv.format(totaldescontos);
					
					
					salarioliquido = salariobruto - totaldescontos;

					DecimalFormat df = new DecimalFormat("0.00");
					String saidasalarioliquido = dv.format(salarioliquido);
					
					DecimalFormat ds = new DecimalFormat("0.00");
					String saidaoutrosdescontos = dv.format(outrosdescontos);
					
					Intent intent = new Intent();
					intent.setClass(Salario.this, Resultado_salario.class);
					intent.putExtra("saidaresultadoinss", saidainss);
					intent.putExtra("saidaresultadoirpf", saidairpf);
					intent.putExtra("saidaresultaoutrosdescontos", saidaoutrosdescontos);
					intent.putExtra("saidatotal", saidatotal);
					intent.putExtra("saidasalarioliquidos", saidasalarioliquido);
					
					startActivity(intent);

					finish();


				}

			}

		});

		botaovoltamenu.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {

				Intent intent = new Intent();

				intent.setClass(Salario.this, Inicio.class);

				startActivity(intent);

				finish();

			}

		});

		botaolimpasalario.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {

				edsalariobruto.setText("");

				eddependentes.setText("");

				edoutrosdescontos.setText("");
				edsalariobruto.requestFocus();

				//Toast.makeText(Salario.this, null, Toast.LENGTH_LONG).show();

			}

		});

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {

		// Inflate the menu; this adds items to the action bar if it is present.

		getMenuInflater().inflate(R.menu.salario, menu);

		return true;

	}

}